
const authList = require('./authList.js').default.pages;


function hasPermission (url) {
	// let token= uni.getStorageSync('token');//token是登录成功后在本地存储登录标识，存储一个能够判断用户登录的唯一标识就行
	// token= Boolean(Number(token));//返回布尔值
    // 在名单中或有登录判断条件可以直接跳转
	for (var i = 0; i < authList.length; i++) {
			if (url.indexOf(authList[i]) >= 0 && !uni.getStorageSync("token")) {
				console.log('失败')
				return false
				return
			}
	}	
	console.log('通过')
    return true
}

uni.addInterceptor('navigateTo', {
    // 页面跳转前进行拦截, invoke根据返回值进行判断是否继续执行跳转
    invoke (e) {	
        if(!hasPermission(e.url)){
            uni.reLaunch({
                url: '/pages/user/passport/login'
            })
            return false
        }else{
			 return true
		}
    },
    success (e) {
		
    }
})
 
uni.addInterceptor('switchTab', {
    // tabbar页面跳转前进行拦截
    invoke (e) {
        if(!hasPermission(e.url)){
            uni.reLaunch({
                url: '/pages/user/passport/login'
            })
			// console.log('不在白名单内')
            return false
        }
		// console.log('在白名单内')
        return true
    },
    success (e) {
		
    }
})